iOSで録音するときに音声出力ボリュームが下がるのの対策


概要

描いたまんま。

PlayAndRecord カテゴリを選ばないと、そもそも録音ができない。

が、この状態だと、端末から出力される音量が自動的にごく小さいものになってしまう。


それを解消する。


サンプルはObj-C。



こんなコードでいける

// なんらかカテゴリーを決めた後に、

[session setCategory:AVAudioSessionCategoryPlayAndRecord error:&err];


// オーディオルートの設定を書き換えれば、通常通りの音量で出力ができる。当然ハウり安いので注意。

UInt32 audioRouteOverride = kAudioSessionOverrideAudioRoute_Speaker;

AudioSessionSetProperty(kAudioSessionProperty_OverrideAudioRoute, sizeof(audioRouteOverride), &audioRouteOverride);